package com.tencreat.domain.mall.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tencreat.common.annotation.Excel;
import com.tencreat.domain.mall.MallComment;
import com.tencreat.domain.mall.MallGoodsNorms;
import com.tencreat.domain.mall.MallSetmealNorms;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;

@Getter
@Setter
public class MallStoreGoodsDetailsVO {

    @ApiModelProperty(value = "商品id")
    private Long id;

    @ApiModelProperty(value = "商品封面图")
    private String picUrl;

    @ApiModelProperty(value = "3d预览图")
    private String threeDUrl;

    @ApiModelProperty(value = "标题")
    private String name;

    @ApiModelProperty(value = "专柜价")
    private BigDecimal counterPrice;

    @ApiModelProperty(value = "售价")
    private BigDecimal retailPrice;

    @ApiModelProperty(value = "二级标题")
    private String brief;

    @ApiModelProperty(value = "详情介绍")
    private String detail;

    @ApiModelProperty(value = "品牌商id")
    private Long brandId;

    @ApiModelProperty(value = "品牌名")
    private String brandName;

    @ApiModelProperty(value = "品牌图片")
    private String brandUrl;

    @ApiModelProperty(value = "商品宣传图片列表")
    private List<String> gallerys;

    @ApiModelProperty(value = "是否新品首发")
    private Boolean isNew;

    @ApiModelProperty(value = "是否人气推荐 1-是 0-否")
    private Integer isHot;

    @ApiModelProperty(value = "商品单位")
    private String unit;

    @ApiModelProperty(value = "商品库存")
    private Long inventory;

    @ApiModelProperty("预计销量")
    private Long expectCommoditySales;

    @ApiModelProperty(value = "商品销量")
    private Long commoditySales;


    @ApiModelProperty(value = "评论列表")
    private List<MallComment> comments;

    @ApiModelProperty(value = "店铺规格列表")
    private List<MallSetmealNorms> norms;

/*    @ApiModelProperty(value = "会员金额")
    private BigDecimal memberPrice;*/

    @ApiModelProperty(value= "是否是品牌 0-否 1-是")
    private Integer brand;

    @ApiModelProperty(value= "是否是爆款 0-否 1-是")
    private Integer burst;

    @ApiModelProperty(value = "上架时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm")
    private LocalDateTime shelfTime;

    @ApiModelProperty("截止时间")//商品售卖结束时间
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime saleEndTime;


    @ApiModelProperty("营业时间开始")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm:ss")
    private LocalTime businessStartTime;

    @ApiModelProperty("营业时间结束")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm:ss")
    private LocalTime businessEndTime;

    @ApiModelProperty("店名")//
    private String storeName;


    /** 行政区域表的省ID */
    @ApiModelProperty(value= "行政区域表的省ID")
    @TableField("`province`")
    private Long province;

    /** 行政区域表的市ID */
    @ApiModelProperty(value= "行政区域表的市ID")
    @TableField("`city`")
    private Long city;

    /** 行政区域表的区县ID */
    @ApiModelProperty(value= "行政区域表的区县ID")
    @TableField("`county`")
    private Long county;
    /**
     * 省市区拼接
     */
    @ApiModelProperty(value = "省市区拼接")
    private String areasName;

    @ApiModelProperty(value= "购买人数//销量")
    private Integer buyers ;
}
